package com.zdy.im.tio.command;

import com.zdy.im.common.exception.ImException;
import com.zdy.im.core.ICommand;
import org.tio.core.ChannelContext;
import org.tio.core.intf.Packet;

/**
 * 
 * 版本: [1.0]
 * 功能说明: 功能描述：[命令主键],用于路由,与功能handler一一邦定,
 * @Author 作者 : zdy
 * @CreateDate 创建时间: 2021-02-30
 */
public interface CmdHandler {
	/**
	 * 功能描述：[命令主键],用于路由,与功能handler一一邦定,
	 * @Author 作者 : zdy
	 * @CreateDate 创建时间: 2021-02-30
	 * @return
	 */
	ICommand command();

	/**
	 * 处理Cmd命令
	 * @param imPacket
	 * @param imChannelContext
	 * @return
	 * @throws ImException
	 * @Author 作者 : zdy
	 * @CreateDate 创建时间: 2021-02-30
	 */
	Packet handler(Packet imPacket, ChannelContext imChannelContext)  throws ImException;
	
}
